1. Technical Field
The present description relates generally to satellite positioning system receivers and, more particularly, to an apparatus and method for time maintenance within a satellite positioning system receiver.
2. Description of the Related Art
Satellite positioning systems, such as the global positioning system (GPS) use a plurality of satellites to calculate the position of a GPS receiver. The GPS receiver may be in a fixed location, in a mobile location such as an automobile or ship, or incorporated into a handheld device. In some cases, the GPS receiver is integrated with a wireless communication device, such as a cellular telephone or personal communications system (PCS) device.
FIG. 1 is a block diagram depicting the operation of a conventional GPS receiver 10 having an antenna 12. The receiver 10 receives signals from a plurality of satellites 14-20 via wireless communications links 22-28, respectively. Based on time of arrival measurements from the satellites 14-20, the GPS receiver 10 is able to accurately calculate its position in three-dimensional space. The accuracy of the position determined by the GPS unit 10 requires accurate timing information so that the position of the satellites 14-20 are precisely known.
Typically, the GPS receiver 10 generates a highly accurate time estimate as part of the navigation fix. The GPS receiver 10 receives ephemeris data and time information from a plurality of satellite vehicles (SV). The time at which each SV transmits data may be referred to herein as xe2x80x9csignal timexe2x80x9d to indicate the time at which the data signal was transmitted from the SV. In contrast, the term xe2x80x9creal-timexe2x80x9d is used herein to refer to the local time maintained with in the GPS receiver. As those skilled in the art will appreciate, there is a propagation time delay of approximately 60-80 milliseconds depending upon the distance between the SV in the GPS receiver 10. The difference between the signal time and the real time is sometimes referred to as the pseudorange. Given the ephemeris data and signal time from a plurality of SVs, the GPS receiver 10 processes the data using known formulas in an effort to minimize the residual values in three-dimensional space and time. That is, the GPS receiver 10 computes a (x, y, z) and t estimates for the receiver; where (x, y, z) are the ECEF coordinates that represent the receiver position and t represents the GPS time of applicability of the measurements used to form that position. The accuracy of this time estimate is typically better than 1 microsecond.
In a conventional embodiment, the GPS receiver 10 derives time signals from the data stream transmitted from the satellites (e.g., the satellites 14-20). However, deriving accurate time from such transmissions is time consuming and requires that the received signal power is sufficient to permit data demodulation. Alternatively, wireless assisted GPS receivers may communicate with reference assisted networks in which GPS receivers that form the network utilize pattern matching techniques in an attempt to identify the data frame timing information. Although a wireless assisted network may permit the GPS receiver 10 to recover lost timing information, the use of wireless networks requires additional communication links that are not always available.
Those skilled in the art will appreciate that ephemeris data has a relatively short-lived validity and must be updated frequently. Typically, the validity of ephemeris data is questionable after just a few hours. Thus, the conventional GPS receiver 10 must frequently update its ephemeris data base to maintain the orbital computation accuracy required for proper position determination. Such frequent updates are very time consuming for the GPS receiver 10. Therefore, it can be appreciated that there is a significant need for a system and method to provide accurate positioning and time information without the need for frequent updates. The apparatus and method described herein provides this and other advantages as will be apparent from the following detailed description and accompanying figures.
The present invention is embodied in a system and method for time maintenance in a satellite positioning system receiver. In one embodiment, the apparatus for time maintenance in a satellite positioning system receiver configured to receive data from a plurality of satellites comprises a processor coupled to the receiver to receive data therefrom. The processor derives almanac data from the received satellite data. The apparatus further comprises a clock to maintain a time based at least in part on the almanac data.
In one embodiment, the clock may be configured to use the almanac data to derive a code period into a current data bit. The clock may also use the almanac data to derive a data bit into a current week.
In one embodiment, the processor is configured to determine an estimated time based on a plurality of parameters and the almanac based time is used to provide an indication of at least one of the plurality of parameters. The estimated time may be based on code phase, code period into a current bit and a bit into a current week. The processor may measure the code phase based on the received satellite data and use the almanac based time to provide an indication of at least one of the code period into the current bit and the bit into the current week.